# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
# Contributor: spambanane <happy.house@gmx.de>
# Contributor: Matteo <matteo.dek@gmail.com>
# Contributor: Matthew Zimmerman <mzimmerman@gmail.com>

pkgname=liteide
pkgver=38.2.1
pkgrel=1
pkgdesc='IDE for editing and building projects written in Go'
license=(LGPL)
arch=(loong64 x86_64)
url='https://github.com/visualfc/liteide'
makedepends=(go git imagemagick mercurial setconf)
depends=(go-tools qt5-base)
optdepends=('go: go compiler'
            'gcc-go: go compiler')
options=(!strip !emptydirs)
source=("$pkgname-x$pkgver::git+$url#commit=501ed7935a798749d4a9b5f038d2b6d95ea0ed07") # tag: x38.2.1
b2sums=('SKIP')

prepare() {
  cd $pkgname-x$pkgver

  chmod +x build/*_*.sh

  # Fix for FS#4662 (until fixed by upstream)
  sed -i 's|^GOROOT|#GOROOT|g' liteidex/os_deploy/linux/liteenv/linux{32,64}.env

  # Fix the libpng warning: iCCP: known incorrect sRGB profile
  find . -type f -iname '*.png' -exec mogrify -strip '{}' \;

  # relro
  sed -i 's/"CONFIG+=release"/"CONFIG+=release" "QMAKE_LFLAGS+=-Wl,-z,relro,-z,now" "QMAKE_CXXFLAGS+=-Wl,-z,relro,-z,now"/g' \
    build/build_linux.sh
}

build() {
  cd liteide-x$pkgver/build
  mkdir -p go
  export GOPATH="$PWD/go"
  export QTDIR=/usr
  ./update_pkg.sh
  ./build_linux.sh
}

package() {
  cd liteide-x$pkgver/build/liteide
  install -d \
    "$pkgdir/usr/lib/liteide" \
    "$pkgdir/usr/share/liteide" \
    "$pkgdir/usr/share/doc/$pkgname"

  # Package executables
  for binary in gotools gocode liteide; do # goimports
    install -Dm755 bin/$binary "$pkgdir/usr/bin/$binary"
  done
  ln -s /usr/bin/liteide "$pkgdir/usr/bin/golangide"

  cd "$srcdir/liteide-x$pkgver/liteidex"

  # Package resources
  cp -r deploy/* os_deploy/* "$pkgdir/usr/share/liteide"

  # Package libraries and plugins
  cp -r liteide/lib/liteide/* "$pkgdir/usr/lib/liteide"
  chmod -x "$pkgdir/usr/lib/liteide/plugins/"*

  # Package license files
  install -Dm644 LICENSE.LGPL \
    "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  install -Dm644 LGPL_EXCEPTION.TXT \
    "$pkgdir/usr/share/licenses/$pkgname/LGPL_EXCEPTION"

  cd "$srcdir"

  # Package desktop shortcut
  install -Dm644 "liteide-x$pkgver/liteidex/$pkgname.desktop" \
    "$pkgdir/usr/share/applications/$pkgname.desktop"
  install -d "$pkgdir/usr/share/pixmaps"
  ln -s /usr/share/liteide/welcome/images/liteide400.png \
    "$pkgdir/usr/share/pixmaps/$pkgname.png"

  # Cleaning up
  rm -rf "$pkgdir/usr/share/$pkgname/doc"

  # Fix for FS#38781
  mv "$pkgdir/usr/share/liteide/linux/liteenv" \
    "$pkgdir/usr/share/liteide/liteenv"
}

# getver: raw.githubusercontent.com/visualfc/liteide/master/build/liteide_archlinux/PKGBUILD
